#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int argc, char const *argv[])
{
    //fork子进程 
    pid_t pid = fork();
    //父进程 1 打印  2等待子进程结束
    if (pid > 0)
    {
        printf("父进程开始运行\n");
        int status;
        waitpid(pid, &status, 0);
        printf(" 子进程已结束,状态：%d\n",status);
    }
    else if(pid==0)
    {
       //子进程 调用第三方程序 ping www.baidu.com 10次  间隔1秒
    // 运行完成 子进程退出
 
            //程序地址// /bin/ping
            char *path="/bin/ping";
            char *arg[]={"ping","www.baidu.com","-c","10",NULL};
            char *env[]={NULL};
             int ret= execve(path,arg,env);
            if(ret==-1){
                perror("execve failed:");
                _exit(EXIT_FAILURE);
            }
    }

    //打印完成 
    printf("程序执行完成\n");
    return 0;
}
